Android+python+appium多机自动化

您所在的位置:网站首页 安卓 python 自动化 Android+python+appium多机自动化

Android+python+appium多机自动化

2023-08-17 18:35| 来源: 网络整理| 查看: 265

一、多台设备连接电脑

adb devices查看设备序列号和连接状态

 

二、启动多个appium服务

开不同的端口,启动多个appium服务;

如果是桌面版appium:

在应用程序中找到appium,右键-》显示包内容,

 点开macOS文件夹,能够看到appium可执行文件;

 多次点击可以打开多个appium服务;

针对每个设备新开一个端口;

打开appium服务器,选择advanced;

 

设置’Sever Port’,‘Bootstrap Port’,按照递增1的规律,点击’Save As Presets’命名并保存;

 

点击’Presets’,选中想要启动的预设值端口,点击’Start Server V1.21.0’,后面可以根据需要几个安卓手机,启动几个appium服务;

 效果:

如果电脑上装的是桌面版的appium,好像不能通过命令启动。

如果是命令行appium服务:

Appium服务器端口:4723,Bootstrap Port为4724

Appium服务器端口:4725,Bootstrap Port为4726

appium -a 127.0.0.1 -p 4723 -bp 4728 --chromedriver-port 9519 -U 255d50d7 --session-override  三、维护设备参数信息

把参数统一维护在一个配置文件里;device_config.json

[{ "url": "http://127.0.0.1:4723/wd/hub", "desired_caps" : { "platformName": "Android", "platformVersion": "11", "deviceName": "oneplus9", "udid":"255d50d7", "appActivity": "com.xxx.MainActivity", "appPackage": "包名", "automationName": "UiAutomator2", "autoGrantPermissions": "true", "noReset": true, "newCommandTimeout":300 } }, { "url": "http://127.0.0.1:4725/wd/hub", "desired_caps" : { "platformName": "Android", "platformVersion": "12", "deviceName": "xiaomi12", "udid":"e073ee1", "appActivity": "com.xxx.MainActivity", "appPackage": "包名", "automationName": "UiAutomator2", "autoGrantPermissions": "true", "noReset": true, "newCommandTimeout":300 } } ] 四、多进程或者多线程进行设备与appium的连接,获取driver def connect_appium(url,desired_caps): #启动appium服务 #进行设备连接 driver = webdriver.Remote(command_executor=url,desired_capabilities=desired_caps) return driver if __name__ == '__main__': with open("device_config.json", "r") as f: data = list(json.load(f)) for i in match_list: a = threading.Thread(target=connect_appium,args=(data[i]["url"],data[i]["desired_caps"])) a.start()



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3